dsh-auth-gate: An Authentication Gate Plugin for DeepSeek Harness

`dsh-auth-gate` is a security plugin for DeepSeek Harness (DSH), designed to provide login authentication and protection for the Web UI. It intercepts unauthenticated requests upfront through the Nginx `auth_request` interface and offers core features such as SVG image CAPTCHA, brute-force protection (with IP and account rate limiting), single sign-on, and encrypted password storage. The plugin listens on localhost by default and must be configured through an Nginx reverse proxy. After the first login, changing the default credentials is mandatory. To ensure security, public-facing deployments should use HTTPS.

Read More
dsh-ui-auth — DeepSeek Harness Web UI Authentication Gateway Plugin

The `dsh-ui-auth` plugin for DeepSeek Harness (DSH) provides secure gateway authentication for the Web UI. It supports full interface interception (HTTP/WS), TOTP/passkey login, user permission isolation, and administrator configuration. After installation using the standard commands, the system automatically creates an administrator account, and new users must register with an invitation code. Passwords are hashed using PBKDF2, a login lockout mechanism is supported, and the plugin is fully compatible with the latest version of DSH.

Read More
dsh-webui-auth: Adding Persistent Login Access Control to DSH WebUI

dsh-webui-auth is the authentication plugin for DeepSeek Harness (DSH) WebUI, licensed under MIT and with zero dependencies. This plugin wraps core routes at runtime, providing four layers of protection for WebUI resources, API endpoints, and WebSocket connections without modifying the DSH source code, forcing unauthenticated users to log in. Its core features include: storing passwords with scrypt hashing, session persistence in sessions.jsonl maintained by HttpOnly cookies; implementing login rate limiting (5 attempts per minute per IP) and security header configuration; recording pseudonymized audit logs; supporting Setup Token initialization on first startup. Passwords can be reset by deleting the credential file if forgotten. Installation is done via npm.

Read More